package com.system.model;

import java.util.List;

import com.frame.ar.db.QueryParamsAnd;
import com.frame.ar.model.JFinalModel;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;


/*******************************************
 * 作用描述：系统功能菜单模型层，负责数据查询或持久化操作
 *******************************************
 * @author LRC
 * @createDate 2015-9-12
 * @version v1.0 
 * @updateRecord 格式：时间，作者，修改说明
 *******************************************
 * 
 */
public class FunctionMenu extends JFinalModel<FunctionMenu>{
	
	/**
	 * 版本号
	 */
	private static final long serialVersionUID = 6424256300402820773L;
	
	/**
	 * 数据库操作单例对象 
	 */
	public static FunctionMenu dao = new FunctionMenu();

	/**
	 * @updateTeim 2015-9-11下午10:58:35
	 * @description 通过菜单类型查找菜单数据
	 * @param type
	 * @return
	 */
	public List<Record> findByFunctionMenuLevel(int type){
		String sql = "select * from sys_base_menu where FunctionMenuLevel=?";
		return Db.find(sql,type);
	}
	
	/*******************************************
	 * 功能描述：获取子节点下最大的序号
	 *******************************************
	 * @createDate 2015-9-12 by LRC
	 * @return 
	 * @updateRecord 格式：时间，作者，修改说明
	 *******************************************
	 * 
	 */
	public Integer getMaxOrderSnByParentId(Object id){
		String sql = "select max(orderSn) from sys_base_menu where parentId=?";
		Integer sn = Db.queryInt(sql, id);
		return sn==null ? 0 : sn;
	}
	
	/*******************************************
	 * 功能描述：获取子菜单数量
	 *******************************************
	 * @createDate 2015-9-13 by LRC
	 * @param id
	 * @return 
	 * @updateRecord 格式：时间，作者，修改说明
	 *******************************************
	 * 
	 */
	public Integer getChildrenNum(Object id){
		String sql = "select count(1) from sys_base_menu where parentId=?";
		Long sn = Db.queryLong(sql, id);
		return sn==null ? 0 : sn.intValue();
	}
}
